home *** CD-ROM | disk | FTP | other *** search
/ Maximum CD 2000 November / Maximum CD 2000 Nov.iso / AofE-Conquerers / age2xtrial.exe / CABFILE / MSGAME.CAB / Data / gamedata_x1.drs / Unnamed File 000030.bina < prev    next >
Text File  |  2000-07-18  |  55KB  |  2,629 lines

  1. ;if I'm short on resources, ask allies for some before using the market
  2. (defrule
  3.     (player-in-game any-ally)
  4.     (players-building-type-count any-ally market > 0)
  5. =>
  6.     (enable-timer 1 60)
  7.     (disable-self)
  8. )
  9.  
  10. (defrule
  11.     (true)
  12. =>
  13.     (set-goal resource-needed NO)
  14.     (disable-self)
  15. )
  16.  
  17. ;****************************************
  18. (defrule
  19.     (goal resource-needed WOOD)
  20.     (timer-triggered t-tribute)
  21.     (not (stance-toward any-human ally) )
  22. =>
  23.     (chat-to-player-using-id every-ally 22123)    ;4
  24. )
  25.  
  26. (defrule
  27.     (goal resource-needed FOOD)
  28.     (timer-triggered t-tribute)
  29.     (not (stance-toward any-human ally) )
  30. =>
  31.     (chat-to-player-using-id every-ally 22122)    ;3
  32. )
  33.  
  34. (defrule
  35.     (goal resource-needed GOLD)
  36.     (timer-triggered t-tribute)
  37.     (not (stance-toward any-human ally) )
  38. =>
  39.     (chat-to-player-using-id every-ally 22124)    ;5
  40. )
  41.  
  42. (defrule
  43.     (goal resource-needed STONE)
  44.     (timer-triggered t-tribute)
  45.     (not (stance-toward any-human ally) )
  46. =>
  47.     (chat-to-player-using-id every-ally 22125)    ;6
  48. )
  49.  
  50. (defrule
  51.     (goal resource-needed WOOD)
  52.     (timer-triggered t-tribute)
  53.     (stance-toward any-human ally)
  54.     (not (goal wonder-attempt POSSIBLE) )
  55.     (or
  56.         (wood-amount > 250)
  57.         (and
  58.             (current-age < imperial-age)
  59.             (wood-amount > 150)
  60.         )
  61.     )
  62. =>
  63.     (chat-to-player-using-id every-ally 22123)    ;4
  64. )
  65.  
  66. (defrule
  67.     (goal resource-needed FOOD)
  68.     (timer-triggered t-tribute)
  69.     (stance-toward any-human ally)
  70.     (or
  71.         (food-amount > 950)
  72.         (or
  73.             (and
  74.                 (current-age == feudal-age)
  75.                 (food-amount > 750)
  76.             )
  77.             (and
  78.                 (current-age == imperial-age)
  79.                 (food-amount > 250)
  80.             )
  81.         )
  82.     )
  83. =>
  84.     (chat-to-player-using-id every-ally 22122)    ;3
  85. )
  86.  
  87. (defrule
  88.     (goal resource-needed GOLD)
  89.     (timer-triggered t-tribute)
  90.     (stance-toward any-human ally)
  91.     (not (goal wonder-attempt POSSIBLE) )
  92.     (or
  93.         (gold-amount > 750)
  94.         (and
  95.             (current-age != feudal-age)
  96.             (gold-amount > 150)
  97.         )
  98.     )
  99. =>
  100.     (chat-to-player-using-id every-ally 22124)    ;5
  101. )
  102.  
  103. (defrule
  104.     (goal resource-needed STONE)
  105.     (timer-triggered t-tribute)
  106.     (stance-toward any-human ally)
  107.     (not (goal wonder-attempt POSSIBLE) )
  108.     (or
  109.         (stone-amount > 600)
  110.         (and
  111.             (not (goal castle-attempt YES) )
  112.             (stone-amount > 150)
  113.         )
  114.     )
  115. =>
  116.     (chat-to-player-using-id every-ally 22125)    ;6
  117. )
  118.  
  119. (defrule
  120.     (goal resource-needed WOOD)
  121.     (timer-triggered t-tribute)
  122.     (stance-toward any-human ally)
  123.     (goal wonder-attempt POSSIBLE)
  124.     (wood-amount > 950)
  125. =>
  126.     (chat-to-player-using-id every-ally 22123)    ;4
  127. )
  128.  
  129. (defrule
  130.     (goal resource-needed GOLD)
  131.     (timer-triggered t-tribute)
  132.     (stance-toward any-human ally)
  133.     (goal wonder-attempt POSSIBLE)
  134.     (gold-amount > 950)
  135. =>
  136.     (chat-to-player-using-id every-ally 22123)    ;4
  137. )
  138.  
  139. (defrule
  140.     (goal resource-needed STONE)
  141.     (timer-triggered t-tribute)
  142.     (stance-toward any-human ally)
  143.     (goal wonder-attempt POSSIBLE)
  144.     (stone-amount > 950)
  145. =>
  146.     (chat-to-player-using-id every-ally 22123)    ;4
  147. )
  148.  
  149.  
  150. ;***************************************
  151. ;FEUDAL MARKET
  152. (defrule
  153.     (goal resource-needed WOOD)
  154.     (current-age == feudal-age)
  155.     (gold-amount > 400)
  156.     (can-buy-commodity wood)
  157.     (commodity-buying-price wood < 150)
  158. =>
  159.     (chat-local-to-self "use market for wood")
  160.     (release-escrow gold)
  161.     (buy-commodity wood)
  162. )
  163.  
  164. (defrule
  165.     (goal resource-needed FOOD)
  166.     (current-age == feudal-age)
  167.     (gold-amount > 400)
  168.     (can-buy-commodity food)
  169.     (commodity-buying-price food < 150)
  170. =>
  171.     (chat-local-to-self "use market for food")
  172.     (release-escrow gold)
  173.     (buy-commodity food)
  174. )
  175.  
  176. (defrule
  177.     (goal resource-needed GOLD)
  178.     (current-age == feudal-age)
  179.     (wood-amount > 300)
  180.     (not (goal sea-owner YES) )
  181.     (can-sell-commodity wood)
  182. =>
  183.     (chat-local-to-self "sell wood for gold")
  184.     (release-escrow wood)
  185.     (sell-commodity wood)
  186. )
  187.  
  188. (defrule
  189.     (goal resource-needed GOLD)
  190.     (current-age == feudal-age)
  191.     (food-amount > 900)
  192.     (can-sell-commodity food)
  193. =>
  194.     (chat-local-to-self "sell food for gold")
  195.     (release-escrow food)
  196.     (sell-commodity food)
  197. )
  198.  
  199. (defrule
  200.     (goal resource-needed GOLD)
  201.     (current-age == feudal-age)
  202.     (stone-amount > 225)
  203.     (can-sell-commodity stone)
  204.     (commodity-selling-price stone > 75)
  205.     (nor
  206.         (goal wall-build YES)
  207.         (goal castle-attempt YES)
  208.     )
  209. =>
  210.     (chat-local-to-self "sell stone for gold")
  211.     (release-escrow stone)
  212.     (sell-commodity stone)
  213. )
  214.  
  215. (defrule
  216.     (goal resource-needed STONE)
  217.     (current-age == feudal-age)
  218.     (gold-amount > 450)
  219.     (can-buy-commodity stone)
  220.     (commodity-buying-price stone < 200)
  221. =>
  222.     (chat-local-to-self "use market for stone")
  223.     (release-escrow gold)
  224.     (buy-commodity stone)
  225. )
  226.  
  227. ;****************************
  228. ;CASTLE MARKET
  229. (defrule
  230.     (goal resource-needed WOOD)
  231.     (current-age == castle-age)
  232.     (gold-amount > 950)
  233.     (can-buy-commodity wood)
  234.     (commodity-buying-price wood < 150)
  235. =>
  236.     (chat-local-to-self "use market for wood")
  237.     (release-escrow gold)
  238.     (buy-commodity wood)
  239. )
  240.  
  241. (defrule
  242.     (goal resource-needed FOOD)
  243.     (current-age == castle-age)
  244.     (gold-amount > 950)
  245.     (can-buy-commodity food)
  246.     (commodity-buying-price food < 150)
  247. =>
  248.     (chat-local-to-self "use market for food")
  249.     (release-escrow gold)
  250.     (buy-commodity food)
  251. )
  252.  
  253. (defrule
  254.     (goal resource-needed GOLD)
  255.     (current-age == castle-age)
  256.     (wood-amount > 450)
  257.     (not (goal sea-owner YES) )
  258.     (can-sell-commodity wood)
  259. =>
  260.     (chat-local-to-self "sell wood for gold")
  261.     (release-escrow wood)
  262.     (sell-commodity wood)
  263. )
  264.  
  265. (defrule
  266.     (goal resource-needed GOLD)
  267.     (current-age == castle-age)
  268.     (food-amount > 1100)
  269.     (can-sell-commodity food)
  270. =>
  271.     (chat-local-to-self "sell food for gold")
  272.     (release-escrow food)
  273.     (sell-commodity food)
  274. )
  275.  
  276. (defrule
  277.     (goal resource-needed GOLD)
  278.     (current-age == castle-age)
  279.     (stone-amount > 400)
  280.     (can-sell-commodity stone)
  281.     (commodity-selling-price stone > 75)
  282.     (nor
  283.         (goal wall-build YES)
  284.         (goal castle-attempt YES)
  285.     )
  286. =>
  287.     (chat-local-to-self "sell stone for gold")
  288.     (release-escrow stone)
  289.     (sell-commodity stone)
  290.     (set-goal resource-needed 0)
  291. )
  292.  
  293. (defrule
  294.     (goal resource-needed STONE)
  295.     (current-age == castle-age)
  296.     (gold-amount > 1000)
  297.     (can-buy-commodity stone)
  298.     (commodity-buying-price stone < 200)
  299. =>
  300.     (chat-local-to-self "use market for stone")
  301.     (release-escrow gold)
  302.     (buy-commodity stone)
  303.     (set-goal resource-needed 0)
  304. )
  305.  
  306. ;****************************
  307. ;IMPERIAL MARKET
  308. (defrule
  309.     (goal resource-needed WOOD)
  310.     (research-completed ri-guilds)
  311.     (can-buy-commodity wood)
  312.     (commodity-buying-price wood < 150)
  313.     (gold-amount > 1400)
  314. =>
  315.     (chat-local-to-self "use market for wood")
  316.     (release-escrow gold)
  317.     (buy-commodity wood)
  318. )
  319.  
  320. (defrule
  321.     (goal resource-needed FOOD)
  322.     (research-completed ri-guilds)
  323.     (can-buy-commodity food)
  324.     (commodity-buying-price food < 150)
  325.     (gold-amount > 1400)
  326. =>
  327.     (chat-local-to-self "use market for food")
  328.     (release-escrow gold)
  329.     (buy-commodity food)
  330. )
  331.  
  332. (defrule
  333.     (goal resource-needed GOLD)
  334.     (research-completed ri-guilds)
  335.     (not (goal sea-owner YES) )
  336.     (can-sell-commodity wood)
  337.     (or
  338.         (wood-amount > 1200)
  339.         (and
  340.             (nor 
  341.                 (goal wonder-attempt POSSIBLE)
  342.                 (goal upgrade-conflict 33)
  343.             )
  344.             (wood-amount > 625)
  345.         )
  346.     )
  347. =>
  348.     (chat-local-to-self "sell wood for gold")
  349.     (release-escrow wood)
  350.     (sell-commodity wood)
  351. )
  352.  
  353. (defrule
  354.     (goal resource-needed GOLD)
  355.     (research-completed ri-guilds)
  356.     (food-amount > 1700)
  357.     (can-sell-commodity food)
  358. =>
  359.     (chat-local-to-self "sell food for gold")
  360.     (release-escrow food)
  361.     (sell-commodity food)
  362. )
  363.  
  364. (defrule
  365.     (goal resource-needed GOLD)
  366.     (research-completed ri-guilds)
  367.     (stone-amount > 500)
  368.     (can-sell-commodity stone)
  369.     (commodity-selling-price stone > 75)
  370.     (nor
  371.         (goal wall-build YES)
  372.         (or
  373.             (goal castle-attempt YES)
  374.             (goal wonder-attempt POSSIBLE)
  375.         )
  376.     )
  377. =>
  378.     (chat-local-to-self "sell stone for gold")
  379.     (release-escrow stone)
  380.     (sell-commodity stone)
  381. )
  382.  
  383. (defrule
  384.     (goal resource-needed STONE)
  385.     (research-completed ri-guilds)
  386.     (can-buy-commodity stone)
  387.     (commodity-buying-price stone < 200)
  388.     (gold-amount > 1400)
  389. =>
  390.     (chat-local-to-self "use market for stone")
  391.     (release-escrow gold)
  392.     (buy-commodity stone)
  393. )
  394. ;****************************
  395. ;Excess stuff
  396. (defrule
  397.     (wood-amount > 1200)
  398.     (or
  399.         (food-amount < 1000)
  400.         (or
  401.             (gold-amount < 1000)
  402.             (stone-amount < 1000)
  403.         )
  404.     )
  405.     (can-sell-commodity wood)
  406. =>
  407.     (chat-local-to-self "excess wood")
  408.     (release-escrow wood)
  409.     (sell-commodity wood)
  410. )
  411.  
  412. (defrule
  413.     (food-amount > 1100)
  414.     (or
  415.         (wood-amount < 1000)
  416.         (or
  417.             (gold-amount < 1000)
  418.             (stone-amount < 1000)
  419.         )
  420.     )
  421.     (can-sell-commodity food)
  422. =>
  423.     (chat-local-to-self "excess food")
  424.     (release-escrow food)
  425.     (sell-commodity food)
  426. )
  427.  
  428. (defrule
  429.     (gold-amount > 1250)
  430.     (can-buy-commodity wood)
  431.     (commodity-buying-price wood < 50)
  432.     (or
  433.         (and
  434.             (not (goal upgrade-conflict 33) )
  435.             (wood-amount < 525)
  436.         )
  437.         (wood-amount < 1100)
  438.     )
  439. =>
  440.     (chat-local-to-self "excess gold; buy wood")
  441.     (release-escrow gold)
  442.     (buy-commodity wood)
  443. )
  444.  
  445. (defrule
  446.     (gold-amount > 1250)
  447.     (food-amount < 1600)
  448.     (can-buy-commodity food)
  449.     (commodity-buying-price food < 50)
  450. =>
  451.     (chat-local-to-self "excess gold; buy food")
  452.     (release-escrow gold)
  453.     (buy-commodity food)
  454. )
  455.  
  456. (defrule
  457.     (gold-amount > 1400)
  458.     (stone-amount < 650)
  459.     (can-buy-commodity stone)
  460.     (commodity-buying-price stone < 200)
  461. =>
  462.     (chat-local-to-self "excess gold; buy stone")
  463.     (release-escrow gold)
  464.     (buy-commodity stone)
  465. )
  466.  
  467. (defrule
  468.     (stone-amount > 1400)
  469.     (or
  470.         (wood-amount < 1100)
  471.         (or
  472.             (food-amount < 1600)
  473.             (gold-amount < 1200)
  474.         )
  475.     )
  476.     (can-sell-commodity stone)
  477. =>
  478.     (chat-local-to-self "excess stone")
  479.     (release-escrow stone)
  480.     (sell-commodity stone)
  481. )
  482.  
  483. ;************************************************
  484. ;TIMER ONE
  485. (defrule
  486.     (timer-triggered t-tribute)
  487.     (not (player-in-game any-human-ally) )
  488. =>
  489.     (disable-timer t-tribute)
  490.     (enable-timer t-tribute 120)
  491. )
  492.  
  493. ;don't bug human allies too often
  494. (defrule
  495.     (timer-triggered t-tribute)
  496.     (player-in-game any-human-ally)
  497. =>
  498.     (disable-timer t-tribute)
  499.     (enable-timer t-tribute 300)
  500. )
  501.  
  502. ;**********************************************
  503.  
  504. ;***********************************
  505. ;AGE ADVANCEMENT
  506. (defrule
  507.     (goal age-advancement NO)
  508.     (current-age == dark-age)
  509.     (game-time >= 600)
  510.     (or
  511.         (players-current-age any-enemy > dark-age)
  512.         (civilian-population >= civ-dark-rush)
  513.     )
  514. =>
  515.     (set-goal upgrade-conflict NOTICE)
  516. )
  517.  
  518. (defrule
  519.     (goal age-advancement NO)
  520.     (current-age == feudal-age)
  521.     (current-age-time > 450)
  522.     (or
  523.         (players-current-age any-enemy > feudal-age)
  524.         (civilian-population >= civ-dark)
  525.     )
  526. =>
  527.     (set-goal upgrade-conflict NOTICE)
  528. )
  529.  
  530. (defrule
  531.     (goal age-advancement NO)
  532.     (current-age == castle-age)
  533.     (current-age-time > 300)
  534.     (or
  535.         (players-current-age any-enemy == imperial-age)
  536.         (civilian-population >= civ-feudal)
  537.     )
  538. =>
  539.     (set-goal upgrade-conflict NOTICE)
  540. )
  541.  
  542. (defrule
  543.     (can-research-with-escrow feudal-age)
  544. =>
  545.     (release-escrow food)
  546.     (research feudal-age)
  547.     (set-goal resource-needed 0)
  548.     (set-goal age-advancement NOTICE)
  549.     (set-goal upgrade-conflict NO)
  550.     (disable-timer t-ageup)
  551.     (enable-timer t-ageup 140)
  552. )
  553.  
  554. ;advance to castle age
  555. (defrule
  556.     (can-research-with-escrow castle-age)
  557. =>
  558.     (release-escrow food)
  559.     (release-escrow gold)
  560.     (research castle-age)
  561.     (set-goal resource-needed 0)
  562.     (set-goal age-advancement NOTICE)
  563.     (set-goal upgrade-conflict NO)
  564.     (disable-timer t-ageup)
  565.     (enable-timer t-ageup 170)
  566. )
  567.  
  568. ;now advance to imperial
  569.  
  570. (defrule
  571.     (can-research-with-escrow imperial-age)
  572. =>
  573.     (release-escrow food)
  574.     (release-escrow gold)
  575.     (research imperial-age)
  576.     (set-goal resource-needed 0)
  577.     (set-goal age-advancement NOTICE)
  578.     (set-goal upgrade-conflict NO)
  579.     (disable-timer t-ageup)
  580.     (enable-timer t-ageup 200)
  581. )
  582.  
  583. ;if we've failed to rise in age, reset goal age-advancement
  584. (defrule
  585.     (current-age < imperial-age)
  586.     (timer-triggered  t-ageup)
  587.     (goal age-advancement NOTICE)
  588. =>
  589.     (disable-timer t-ageup)
  590.     (set-goal age-advancement NO)
  591. )
  592.  
  593. ;*************************************************************
  594. (defrule
  595.     (not (map-type highland) )
  596. =>
  597.     (set-strategic-number sn-minimum-water-body-size-for-dock 3000)
  598.     (disable-self)
  599. )
  600. ;*************************************************************
  601. ;#load-if-defined SCENARIO-MAP
  602.  
  603. ;(defrule
  604. ;    (true)
  605. ;=>
  606. ;    (set-goal 1 1)
  607. ;    (chat-to-all-using-id 22145)
  608. ;    (chat-to-all-using-id 22146)
  609.         ;"If this is an all-land or an island map, then please"
  610.         ;"rework thy AI script accordingly."
  611. ;    (disable-self)
  612. ;)
  613.  
  614. ;#end-if
  615. ;*******************************
  616. #load-if-defined ARCHIPELAGO-MAP
  617.  
  618. (defrule
  619.     (true)
  620. =>
  621.     (chat-local-to-self "detecting ocean map!")
  622.     (set-goal 1 1)
  623.     (disable-self)
  624. )
  625.  
  626. #end-if
  627. ;*******************************
  628. #load-if-defined ISLANDS-MAP
  629.  
  630. (defrule
  631.     (true)
  632. =>
  633.     (chat-local-to-self "detecting ocean map!")
  634.     (set-goal 1 1)
  635.     (disable-self)
  636. )
  637.  
  638. #end-if
  639. ;*******************************
  640. #load-if-defined MIGRATION-MAP
  641.  
  642. (defrule
  643.     (true)
  644. =>
  645.     (chat-local-to-self "detecting ocean map!")
  646.     (set-goal 1 1)
  647.     (disable-self)
  648. )
  649.  
  650. #end-if
  651. ;*******************************
  652. #load-if-defined TEAM-ISLANDS-MAP
  653.  
  654. (defrule
  655.     (true)
  656. =>
  657.     (chat-local-to-self "detecting ocean map!")
  658.     (set-goal 1 1)
  659.     (disable-self)
  660. )
  661.  
  662. #end-if
  663. ;*******************************
  664. #load-if-defined BALTIC-MAP
  665.  
  666. (defrule
  667.     (true)
  668. =>
  669.     (chat-local-to-self "detecting water map!")
  670.     (set-goal 1 1)
  671.     (disable-self)
  672. )
  673. #end-if
  674. ;*******************************
  675. #load-if-defined COASTAL-MAP
  676.  
  677. (defrule
  678.     (true)
  679. =>
  680.     (chat-local-to-self "detecting water map!")
  681.     (set-goal 1 1)
  682.     (disable-self)
  683. )
  684. #end-if
  685. ;*******************************
  686. #load-if-defined CONTINENTAL-MAP
  687.  
  688. (defrule
  689.     (true)
  690. =>
  691.     (chat-local-to-self "detecting water map!")
  692.     (set-goal 1 1)
  693.     (disable-self)
  694. )
  695. #end-if
  696. ;*******************************
  697. #load-if-defined CRATER-LAKE-MAP
  698.  
  699. (defrule
  700.     (true)
  701. =>
  702.     (chat-local-to-self "detecting water map!")
  703.     (set-goal 1 1)
  704.     (disable-self)
  705. )
  706. #end-if
  707. ;*******************************
  708. #load-if-defined MEDITERRANEAN-MAP
  709.  
  710. (defrule
  711.     (true)
  712. =>
  713.     (chat-local-to-self "detecting water map!")
  714.     (set-goal 1 1)
  715.     (disable-self)
  716. )
  717. #end-if
  718. ;*******************************
  719. #load-if-defined RIVERS-MAP
  720.  
  721. (defrule
  722.     (true)
  723. =>
  724.     (chat-local-to-self "detecting water map!")
  725.     (set-goal 1 1)
  726.     (disable-self)
  727. )
  728. #end-if
  729. ;*******************************
  730. #load-if-defined ARABIA-MAP
  731.  
  732. (defrule
  733.     (true)
  734. =>
  735.     (chat-local-to-self "detecting land map!")
  736.     (set-goal 1 0)
  737.     (disable-self)
  738. )
  739. #end-if
  740. ;*******************************
  741. #load-if-defined BLACK-FOREST-MAP
  742.  
  743. (defrule
  744.     (true)
  745. =>
  746.     (chat-local-to-self "detecting land map!")
  747.     (set-goal 1 0)
  748.     (disable-self)
  749. )
  750. #end-if
  751. ;*******************************
  752. #load-if-defined FORTRESS-MAP
  753.  
  754. (defrule
  755.     (true)
  756. =>
  757.     (chat-local-to-self "detecting land map!")
  758.     (set-goal 1 0)
  759.     (disable-self)
  760. )
  761. #end-if
  762. ;*******************************
  763. #load-if-defined GOLD-RUSH-MAP
  764.  
  765. (defrule
  766.     (true)
  767. =>
  768.     (chat-local-to-self "detecting land map!")
  769.     (set-goal 1 0)
  770.     (disable-self)
  771. )
  772.  
  773. (defrule
  774.     (current-age >= feudal-age)
  775.     (not (strategic-number sn-maximum-town-size == 40) )
  776. =>
  777.     (set-strategic-number sn-maximum-town-size 40)
  778. )
  779. #end-if
  780. ;*******************************
  781. #load-if-defined HIGHLAND-MAP
  782.  
  783. (defrule
  784.     (true)
  785. =>
  786.     (chat-local-to-self "detecting land map!")
  787.     (set-goal 1 0)
  788.     (disable-self)
  789. )
  790.  
  791. #end-if
  792. ;*************************************************************
  793. (defrule
  794.     (goal 1 1)
  795. =>
  796.     (set-strategic-number sn-number-boat-explore-groups 1)
  797.     (disable-self)
  798. )
  799.  
  800. ;make docks
  801. (defrule
  802.     (goal 1 1)
  803.     (building-type-count-total dock == 0)
  804.     (building-type-count-total lumber-camp > 0)
  805.     (can-build dock)
  806. =>
  807.     (build dock)
  808. )
  809.  
  810. (defrule
  811.     (goal 1 1)
  812.     (current-age >= feudal-age)
  813.     (wood-amount > 400)
  814.     (building-type-count-total dock < 2)
  815.     (can-build-with-escrow dock)
  816. =>
  817.     (release-escrow wood)
  818.     (build dock)
  819. )
  820.  
  821. (defrule
  822.     (goal 1 1)
  823.     (current-age >= castle-age)
  824.     (wood-amount > 1000)
  825.     (building-type-count-total dock < 2)
  826.     (can-build-with-escrow dock)
  827. =>
  828.     (release-escrow wood)
  829.     (build dock)
  830. )
  831.  
  832. ;build fishing ships in dark age
  833. (defrule
  834.     (goal 1 1)
  835.     (current-age == dark-age)
  836.     (building-type-count-total lumber-camp > 0)
  837.     (civilian-population < 25)
  838.     (unit-type-count-total fishing-ship < ten-percent-pop)
  839.     (can-train fishing-ship)
  840. =>
  841.     (train fishing-ship)
  842. )
  843.  
  844. ;feudal boats
  845. (defrule
  846.     (goal 1 1)
  847.     (current-age == feudal-age)
  848.     (civilian-population < civ-feudal)
  849.     (unit-type-count-total fishing-ship < ten-percent-pop)
  850.     (can-train fishing-ship)
  851. =>
  852.     (train fishing-ship)
  853. )
  854.  
  855. ;castle boats
  856. (defrule
  857.     (goal 1 1)
  858.     (civilian-population < civ-castle)
  859.     (unit-type-count-total fishing-ship < ten-percent-pop)
  860.     (current-age >= castle-age)
  861.     (wood-amount > 1100)
  862.     (can-train fishing-ship)
  863. =>
  864.     (train fishing-ship)
  865. )
  866.  
  867. ;*********************************************
  868. ;starting goals
  869. (defrule
  870.     (true)
  871. =>
  872.     (set-goal resource-needed NO)    ;goal 5
  873.     (set-goal age-advancement NO)    ;goal 14
  874.     (set-goal upgrade-conflict NO)    ;goal 16
  875.     (disable-self)
  876. )
  877.  
  878. #load-if-defined DIFFICULTY-HARDEST
  879. (defrule
  880.     (true)
  881. =>
  882.     (disable-timer t-chatmore)
  883.     (enable-timer t-chatmore 1200)
  884.     (disable-self)
  885. )
  886.  
  887. (defrule
  888.     (timer-triggered t-chatmore)
  889. =>
  890.     (cc-add-resource wood 500)
  891.     (cc-add-resource food 500)
  892.     (cc-add-resource gold 500)
  893.     (cc-add-resource stone 500)
  894.     (disable-timer t-chatmore)
  895.     (enable-timer t-chatmore 1200)
  896. )
  897.  
  898. #end-if
  899. ;********************************
  900. ;UPGRADES & BUILDS RELATED TO OTHER PLAYERS
  901. ;**************************************
  902. ;FEUDAL MARKET
  903. (defrule
  904.     (goal resource-needed WOOD)
  905.     (current-age == feudal-age)
  906.     (gold-amount > 400)
  907.     (can-buy-commodity wood)
  908.     (commodity-buying-price wood < 150)
  909. =>
  910.     (chat-local-to-self "use market for wood")
  911.     (release-escrow gold)
  912.     (buy-commodity wood)
  913. )
  914.  
  915. (defrule
  916.     (goal resource-needed FOOD)
  917.     (current-age == feudal-age)
  918.     (gold-amount > 400)
  919.     (can-buy-commodity food)
  920.     (commodity-buying-price food < 150)
  921. =>
  922.     (chat-local-to-self "use market for food")
  923.     (release-escrow gold)
  924.     (buy-commodity food)
  925. )
  926.  
  927. (defrule
  928.     (goal resource-needed GOLD)
  929.     (current-age == feudal-age)
  930.     (wood-amount > 300)
  931.     (can-sell-commodity wood)
  932. =>
  933.     (chat-local-to-self "sell wood for gold")
  934.     (release-escrow wood)
  935.     (sell-commodity wood)
  936. )
  937.  
  938. (defrule
  939.     (goal resource-needed GOLD)
  940.     (current-age == feudal-age)
  941.     (food-amount > 900)
  942.     (can-sell-commodity food)
  943. =>
  944.     (chat-local-to-self "sell food for gold")
  945.     (release-escrow food)
  946.     (sell-commodity food)
  947. )
  948.  
  949. (defrule
  950.     (goal resource-needed GOLD)
  951.     (current-age == feudal-age)
  952.     (stone-amount > 300)
  953.     (can-sell-commodity stone)
  954.     (commodity-selling-price stone > 75)
  955. =>
  956.     (chat-local-to-self "sell stone for gold")
  957.     (release-escrow stone)
  958.     (sell-commodity stone)
  959. )
  960.  
  961. (defrule
  962.     (goal resource-needed STONE)
  963.     (current-age == feudal-age)
  964.     (gold-amount > 450)
  965.     (can-buy-commodity stone)
  966.     (commodity-buying-price stone < 200)
  967. =>
  968.     (chat-local-to-self "use market for stone")
  969.     (release-escrow gold)
  970.     (buy-commodity stone)
  971. )
  972.  
  973. ;****************************
  974. ;CASTLE MARKET
  975. (defrule
  976.     (goal resource-needed WOOD)
  977.     (current-age == castle-age)
  978.     (gold-amount > 950)
  979.     (can-buy-commodity wood)
  980.     (commodity-buying-price wood < 150)
  981. =>
  982.     (chat-local-to-self "use market for wood")
  983.     (release-escrow gold)
  984.     (buy-commodity wood)
  985. )
  986.  
  987. (defrule
  988.     (goal resource-needed FOOD)
  989.     (current-age == castle-age)
  990.     (gold-amount > 950)
  991.     (can-buy-commodity food)
  992.     (commodity-buying-price food < 150)
  993. =>
  994.     (chat-local-to-self "use market for food")
  995.     (release-escrow gold)
  996.     (buy-commodity food)
  997. )
  998.  
  999. (defrule
  1000.     (goal resource-needed GOLD)
  1001.     (current-age == castle-age)
  1002.     (wood-amount > 1100)
  1003.     (can-sell-commodity wood)
  1004. =>
  1005.     (chat-local-to-self "sell wood for gold")
  1006.     (release-escrow wood)
  1007.     (sell-commodity wood)
  1008. )
  1009.  
  1010. (defrule
  1011.     (goal resource-needed GOLD)
  1012.     (current-age == castle-age)
  1013.     (food-amount > 1100)
  1014.     (can-sell-commodity food)
  1015. =>
  1016.     (chat-local-to-self "sell food for gold")
  1017.     (release-escrow food)
  1018.     (sell-commodity food)
  1019. )
  1020.  
  1021. (defrule
  1022.     (goal resource-needed GOLD)
  1023.     (current-age == castle-age)
  1024.     (stone-amount > 1100)
  1025.     (can-sell-commodity stone)
  1026.     (commodity-selling-price stone > 75)
  1027. =>
  1028.     (chat-local-to-self "sell stone for gold")
  1029.     (release-escrow stone)
  1030.     (sell-commodity stone)
  1031.     (set-goal resource-needed 0)
  1032. )
  1033.  
  1034. (defrule
  1035.     (goal resource-needed STONE)
  1036.     (current-age == castle-age)
  1037.     (gold-amount > 1000)
  1038.     (can-buy-commodity stone)
  1039.     (commodity-buying-price stone < 200)
  1040. =>
  1041.     (chat-local-to-self "use market for stone")
  1042.     (release-escrow gold)
  1043.     (buy-commodity stone)
  1044.     (set-goal resource-needed 0)
  1045. )
  1046.  
  1047. ;****************************
  1048. ;IMPERIAL MARKET
  1049. (defrule
  1050.     (goal resource-needed WOOD)
  1051.     (research-completed ri-guilds)
  1052.     (can-buy-commodity wood)
  1053.     (commodity-buying-price wood < 150)
  1054.     (gold-amount > 1400)
  1055. =>
  1056.     (chat-local-to-self "use market for wood")
  1057.     (release-escrow gold)
  1058.     (buy-commodity wood)
  1059. )
  1060.  
  1061. (defrule
  1062.     (goal resource-needed FOOD)
  1063.     (research-completed ri-guilds)
  1064.     (can-buy-commodity food)
  1065.     (commodity-buying-price food < 150)
  1066.     (gold-amount > 1400)
  1067. =>
  1068.     (chat-local-to-self "use market for food")
  1069.     (release-escrow gold)
  1070.     (buy-commodity food)
  1071. )
  1072.  
  1073. (defrule
  1074.     (goal resource-needed GOLD)
  1075.     (research-completed ri-guilds)
  1076.     (can-sell-commodity wood)
  1077.     (wood-amount > 1200)
  1078. =>
  1079.     (chat-local-to-self "sell wood for gold")
  1080.     (release-escrow wood)
  1081.     (sell-commodity wood)
  1082. )
  1083.  
  1084. (defrule
  1085.     (goal resource-needed GOLD)
  1086.     (research-completed ri-guilds)
  1087.     (food-amount > 1100)
  1088.     (can-sell-commodity food)
  1089. =>
  1090.     (chat-local-to-self "sell food for gold")
  1091.     (release-escrow food)
  1092.     (sell-commodity food)
  1093. )
  1094.  
  1095. (defrule
  1096.     (goal resource-needed GOLD)
  1097.     (research-completed ri-guilds)
  1098.     (stone-amount > 1100)
  1099.     (can-sell-commodity stone)
  1100.     (commodity-selling-price stone > 75)
  1101. =>
  1102.     (chat-local-to-self "sell stone for gold")
  1103.     (release-escrow stone)
  1104.     (sell-commodity stone)
  1105. )
  1106.  
  1107. (defrule
  1108.     (goal resource-needed STONE)
  1109.     (research-completed ri-guilds)
  1110.     (can-buy-commodity stone)
  1111.     (commodity-buying-price stone < 200)
  1112.     (gold-amount > 1200)
  1113. =>
  1114.     (chat-local-to-self "use market for stone")
  1115.     (release-escrow gold)
  1116.     (buy-commodity stone)
  1117. )
  1118. ;****************************
  1119. ;Excess stuff
  1120. (defrule
  1121.     (wood-amount > 1200)
  1122.     (or
  1123.         (gold-amount < 1000)
  1124.         (stone-amount < 1000)
  1125.     )
  1126.     (can-sell-commodity wood)
  1127. =>
  1128.     (chat-local-to-self "excess wood")
  1129.     (release-escrow wood)
  1130.     (sell-commodity wood)
  1131. )
  1132.  
  1133. (defrule
  1134.     (food-amount > 1100)
  1135.     (or
  1136.         (wood-amount < 1000)
  1137.         (or
  1138.             (gold-amount < 1000)
  1139.             (stone-amount < 1000)
  1140.         )
  1141.     )
  1142.     (can-sell-commodity food)
  1143. =>
  1144.     (chat-local-to-self "excess food")
  1145.     (release-escrow food)
  1146.     (sell-commodity food)
  1147. )
  1148.  
  1149. (defrule
  1150.     (difficulty <= hard)
  1151.     (current-age == imperial-age)
  1152.     (can-sell-commodity food)
  1153. =>
  1154.     (chat-local-to-self "sell that food!")
  1155.     (release-escrow food)
  1156.     (sell-commodity food)
  1157. )
  1158.  
  1159. (defrule
  1160.     (gold-amount > 1200)
  1161.     (can-buy-commodity wood)
  1162.     (commodity-buying-price wood < 50)
  1163.     (wood-amount < 1000)
  1164. =>
  1165.     (chat-local-to-self "excess gold; buy wood")
  1166.     (release-escrow gold)
  1167.     (buy-commodity wood)
  1168. )
  1169.  
  1170. (defrule
  1171.     (gold-amount > 1200)
  1172.     (food-amount < 200)
  1173.     (can-buy-commodity food)
  1174.     (commodity-buying-price food < 50)
  1175. =>
  1176.     (chat-local-to-self "excess gold; buy food")
  1177.     (release-escrow gold)
  1178.     (buy-commodity food)
  1179. )
  1180.  
  1181. (defrule
  1182.     (gold-amount > 1200)
  1183.     (stone-amount < 1000)
  1184.     (can-buy-commodity stone)
  1185.     (commodity-buying-price stone < 200)
  1186. =>
  1187.     (chat-local-to-self "excess gold; buy stone")
  1188.     (release-escrow gold)
  1189.     (buy-commodity stone)
  1190. )
  1191.  
  1192. (defrule
  1193.     (stone-amount > 1200)
  1194.     (or
  1195.         (wood-amount < 1000)
  1196.         (gold-amount < 1000)
  1197.     )
  1198.     (can-sell-commodity stone)
  1199. =>
  1200.     (chat-local-to-self "excess stone")
  1201.     (release-escrow stone)
  1202.     (sell-commodity stone)
  1203. )
  1204.  
  1205. ;************************************************
  1206. ;TIMER ONE
  1207. (defrule
  1208.     (timer-triggered t-tribute)
  1209.     (not (player-in-game any-human-ally) )
  1210. =>
  1211.     (disable-timer t-tribute)
  1212.     (enable-timer t-tribute 120)
  1213. )
  1214.  
  1215. ;don't bug human allies too often
  1216. (defrule
  1217.     (timer-triggered t-tribute)
  1218.     (player-in-game any-human-ally)
  1219. =>
  1220.     (disable-timer t-tribute)
  1221.     (enable-timer t-tribute 300)
  1222. )
  1223.  
  1224. ;**********************************************
  1225. ;build that wonder
  1226. (defrule
  1227.     (current-age == imperial-age)
  1228.     (population > unit-max)
  1229.     (wood-amount >= 500)
  1230.     (gold-amount >= 500)
  1231.     (stone-amount >= 500)
  1232. =>
  1233.     (set-goal upgrade-conflict NOTICE)
  1234.     (disable-self)
  1235. )
  1236.  
  1237. (defrule
  1238.     (can-build-with-escrow wonder)
  1239. =>
  1240.     (release-escrow wood)
  1241.     (release-escrow gold)
  1242.     (release-escrow stone)
  1243.     (set-strategic-number sn-maximum-town-size 10)
  1244.     (set-strategic-number sn-percent-civilian-builders 90)
  1245.     (set-strategic-number sn-cap-civilian-builders 50)
  1246.     (set-strategic-number sn-percent-civilian-gatherers 10)
  1247.     (build wonder)
  1248.     (disable-self)
  1249. )
  1250.  
  1251. ;*********************************
  1252. ;gathering percentages
  1253. (defrule
  1254.     (true)
  1255. =>
  1256.     (set-strategic-number sn-wood-gatherer-percentage 10)
  1257.     (set-strategic-number sn-food-gatherer-percentage 90)
  1258.     (set-strategic-number sn-gold-gatherer-percentage 0)
  1259.     (set-strategic-number sn-stone-gatherer-percentage 0)
  1260.     (disable-self)
  1261. )
  1262.  
  1263. ;DARK AGE
  1264. (defrule
  1265.     (current-age == dark-age)
  1266.     (wood-amount < 100)
  1267.     (or
  1268.         (building-type-count-total mill == 0)
  1269.         (building-type-count-total lumber-camp == 0)
  1270.     )
  1271. =>
  1272.     (set-goal resource-needed WOOD)
  1273. )
  1274.  
  1275. (defrule
  1276.     (goal upgrade-conflict NOTICE)
  1277.     (current-age == dark-age)
  1278.     (food-amount < 500)
  1279. =>
  1280.     (set-goal resource-needed FOOD)
  1281. )
  1282. ;***********************************************
  1283. ;***********************************************
  1284.  
  1285. (defrule
  1286.     (goal resource-needed NO)
  1287.     (current-age == dark-age)
  1288.     (civilian-population < 10)
  1289.     (not (strategic-number sn-wood-gatherer-percentage == 10) )
  1290. =>
  1291.     (set-strategic-number sn-wood-gatherer-percentage 10)
  1292.     (set-strategic-number sn-food-gatherer-percentage 90)
  1293.     (set-strategic-number sn-gold-gatherer-percentage 0)
  1294.     (set-strategic-number sn-stone-gatherer-percentage 0)
  1295. )
  1296.  
  1297. (defrule
  1298.     (goal resource-needed WOOD)
  1299.     (current-age == dark-age)
  1300.     (civilian-population < 10)
  1301.     (not (strategic-number sn-wood-gatherer-percentage == 20) )
  1302. =>
  1303.     (set-strategic-number sn-wood-gatherer-percentage 30)
  1304.     (set-strategic-number sn-food-gatherer-percentage 70)
  1305.     (set-strategic-number sn-gold-gatherer-percentage 0)
  1306.     (set-strategic-number sn-stone-gatherer-percentage 0)
  1307. )
  1308.  
  1309. (defrule
  1310.     (goal resource-needed NO)
  1311.     (current-age == dark-age)
  1312.     (civilian-population >= 10)
  1313.     (not (strategic-number sn-wood-gatherer-percentage == 30) )
  1314. =>
  1315.     (set-strategic-number sn-wood-gatherer-percentage 40)
  1316.     (set-strategic-number sn-food-gatherer-percentage 60)
  1317. )
  1318.  
  1319. (defrule
  1320.     (goal resource-needed WOOD)
  1321.     (current-age == dark-age)
  1322.     (civilian-population >= 10)
  1323.     (not (strategic-number sn-wood-gatherer-percentage == 40) )
  1324. =>
  1325.     (set-strategic-number sn-wood-gatherer-percentage 50)
  1326.     (set-strategic-number sn-food-gatherer-percentage 50)
  1327. )
  1328.  
  1329. (defrule
  1330.     (goal resource-needed FOOD)
  1331.     (current-age == dark-age)
  1332.     (civilian-population >= 10)
  1333.     (not (strategic-number sn-wood-gatherer-percentage == 20) )
  1334. =>
  1335.     (set-strategic-number sn-wood-gatherer-percentage 30)
  1336.     (set-strategic-number sn-food-gatherer-percentage 70)
  1337. )
  1338.  
  1339. ;***********************************************
  1340. ;***********************************************
  1341. ;FEUDAL AGE
  1342. (defrule
  1343.     (current-age == feudal-age)
  1344. =>
  1345.     (set-goal resource-needed NO)
  1346. )
  1347.  
  1348. (defrule
  1349.     (goal resource-supp FOOD-ONLY)
  1350.     (current-age == feudal-age)
  1351.     (food-amount < 150)
  1352. =>
  1353.     (set-goal resource-needed FOOD)
  1354. )
  1355.  
  1356. (defrule
  1357.     (goal resource-supp WOOD-FOOD)
  1358.     (current-age == feudal-age)
  1359.     (wood-amount < 75)
  1360.     (food-amount > 100)
  1361. =>
  1362.     (set-goal resource-needed WOOD)
  1363. )
  1364.  
  1365. (defrule
  1366.     (goal resource-supp WOOD-FOOD)
  1367.     (current-age == feudal-age)
  1368.     (wood-amount > 75)
  1369.     (food-amount < 100)
  1370. =>
  1371.     (set-goal resource-needed FOOD)
  1372. )
  1373.  
  1374. (defrule
  1375.     (goal resource-supp FOOD-GOLD)
  1376.     (current-age == feudal-age)
  1377.     (food-amount > 100)
  1378.     (gold-amount < 50)
  1379. =>
  1380.     (set-goal resource-needed GOLD)
  1381. )
  1382.  
  1383. (defrule
  1384.     (goal resource-supp FOOD-GOLD)
  1385.     (current-age == feudal-age)
  1386.     (food-amount < 100)
  1387.     (gold-amount > 50)
  1388. =>
  1389.     (set-goal resource-needed FOOD)
  1390. )
  1391.  
  1392. (defrule
  1393.     (current-age == feudal-age)
  1394.     (wood-amount < 175)
  1395.     (building-type-count-total market == 0)
  1396. =>
  1397.     (set-goal resource-needed WOOD)
  1398. )
  1399.  
  1400. (defrule
  1401.     (goal upgrade-conflict NOTICE)
  1402.     (current-age == feudal-age)
  1403.     (food-amount < 800)
  1404.     (gold-amount > 200)
  1405. =>
  1406.     (set-goal resource-needed FOOD)
  1407. )
  1408.  
  1409. (defrule
  1410.     (goal upgrade-conflict NOTICE)
  1411.     (current-age == feudal-age)
  1412.     (food-amount > 800)
  1413.     (gold-amount < 200)
  1414. =>
  1415.     (set-goal resource-needed GOLD)
  1416. )
  1417.  
  1418. ;***********************************************
  1419. ;***********************************************
  1420. (defrule
  1421.     (goal resource-needed NO)
  1422.     (current-age == feudal-age)
  1423. =>
  1424.     (set-strategic-number sn-wood-gatherer-percentage 45)
  1425.     (set-strategic-number sn-food-gatherer-percentage 40)
  1426.     (set-strategic-number sn-gold-gatherer-percentage 10)
  1427.     (set-strategic-number sn-stone-gatherer-percentage 5)
  1428. )
  1429.  
  1430. (defrule
  1431.     (goal resource-needed WOOD)
  1432.     (current-age == feudal-age)
  1433. =>
  1434.     (set-strategic-number sn-wood-gatherer-percentage 55)
  1435.     (set-strategic-number sn-food-gatherer-percentage 30)
  1436.     (set-strategic-number sn-gold-gatherer-percentage 10)
  1437.     (set-strategic-number sn-stone-gatherer-percentage 5)
  1438. )
  1439.  
  1440. (defrule
  1441.     (goal resource-needed FOOD)
  1442.     (current-age == feudal-age)
  1443. =>
  1444.     (set-strategic-number sn-wood-gatherer-percentage 35)
  1445.     (set-strategic-number sn-food-gatherer-percentage 50)
  1446.     (set-strategic-number sn-gold-gatherer-percentage 10)
  1447.     (set-strategic-number sn-stone-gatherer-percentage 5)
  1448. )
  1449.  
  1450. (defrule
  1451.     (goal resource-needed GOLD)
  1452.     (current-age == feudal-age)
  1453. =>
  1454.     (set-strategic-number sn-wood-gatherer-percentage 40)
  1455.     (set-strategic-number sn-food-gatherer-percentage 35)
  1456.     (set-strategic-number sn-gold-gatherer-percentage 20)
  1457.     (set-strategic-number sn-stone-gatherer-percentage 5)
  1458. )
  1459.  
  1460. ;***********************************************
  1461. ;***********************************************
  1462. ;CASTLE AGE
  1463. (defrule
  1464.     (current-age == castle-age)
  1465. =>
  1466.     (set-goal resource-needed NO)
  1467. )
  1468.  
  1469. (defrule
  1470.     (goal resource-supp FOOD-ONLY)
  1471.     (current-age == castle-age)
  1472.     (food-amount < 250)
  1473. =>
  1474.     (set-goal resource-needed FOOD)
  1475. )
  1476.  
  1477. (defrule
  1478.     (current-age == castle-age)
  1479.     (goal resource-supp GOLD-ONLY)
  1480.     (gold-amount < 475)
  1481. =>
  1482.     (set-goal resource-needed GOLD)
  1483. )
  1484.  
  1485. (defrule
  1486.     (goal resource-supp WOOD-FOOD)
  1487.     (current-age == castle-age)
  1488.     (wood-amount < 150)
  1489.     (food-amount > 200)
  1490. =>
  1491.     (set-goal resource-needed WOOD)
  1492. )
  1493.  
  1494. (defrule
  1495.     (goal resource-supp WOOD-FOOD)
  1496.     (current-age == castle-age)
  1497.     (wood-amount > 150)
  1498.     (food-amount < 200)
  1499. =>
  1500.     (set-goal resource-needed FOOD)
  1501. )
  1502.  
  1503. (defrule
  1504.     (goal resource-supp WOOD-STONE)
  1505.     (current-age == castle-age)
  1506.     (wood-amount > 200)
  1507.     (stone-amount < 300)
  1508. =>
  1509.     (set-goal resource-needed STONE)
  1510. )
  1511.  
  1512. (defrule
  1513.     (goal resource-supp WOOD-STONE)
  1514.     (current-age == castle-age)
  1515.     (wood-amount < 200)
  1516.     (stone-amount > 300)
  1517. =>
  1518.     (set-goal resource-needed WOOD)
  1519. )
  1520.  
  1521. (defrule
  1522.     (goal resource-supp FOOD-GOLD)
  1523.     (current-age == castle-age)
  1524.     (food-amount > 350)
  1525.     (gold-amount < 200)
  1526. =>
  1527.     (set-goal resource-needed GOLD)
  1528. )
  1529.  
  1530. (defrule
  1531.     (goal resource-supp FOOD-GOLD)
  1532.     (current-age == castle-age)
  1533.     (food-amount < 350)
  1534.     (gold-amount > 200)
  1535. =>
  1536.     (set-goal resource-needed FOOD)
  1537. )
  1538.  
  1539. (defrule
  1540.     (current-age == castle-age)
  1541.     (wood-amount < 200)
  1542.     (building-type-count-total university == 0)
  1543. =>
  1544.     (set-goal resource-needed WOOD)
  1545. )
  1546.  
  1547. (defrule
  1548.     (goal upgrade-conflict NOTICE)
  1549.     (current-age == castle-age)
  1550.     (food-amount < 1000)
  1551.     (gold-amount > 800)
  1552. =>
  1553.     (set-goal resource-needed FOOD)
  1554. )
  1555.  
  1556. (defrule
  1557.     (goal upgrade-conflict NOTICE)
  1558.     (current-age == castle-age)
  1559.     (food-amount > 1000)
  1560.     (gold-amount < 800)
  1561. =>
  1562.     (set-goal resource-needed GOLD)
  1563. )
  1564.  
  1565. ;***********************************************
  1566. ;IMPERIAL AGE
  1567. (defrule
  1568.     (current-age == imperial-age)
  1569. =>
  1570.     (set-goal resource-needed NO)
  1571. )
  1572.  
  1573. (defrule
  1574.     (goal resource-supp FOOD-ONLY)
  1575.     (current-age == imperial-age)
  1576.     (food-amount < 250)
  1577. =>
  1578.     (set-goal resource-needed FOOD)
  1579. )
  1580.  
  1581. (defrule
  1582.     (goal resource-supp GOLD-ONLY)
  1583.     (current-age == imperial-age)
  1584.     (gold-amount < 475)
  1585. =>
  1586.     (set-goal resource-needed GOLD)
  1587. )
  1588.  
  1589. (defrule
  1590.     (goal resource-supp WOOD-FOOD)
  1591.     (current-age == imperial-age) 
  1592.     (wood-amount < 600)
  1593.     (food-amount > 500)
  1594. =>
  1595.     (set-goal resource-needed WOOD)
  1596. )
  1597.  
  1598. (defrule
  1599.     (goal resource-supp WOOD-FOOD)
  1600.     (current-age == imperial-age) 
  1601.     (wood-amount > 600)
  1602.     (food-amount < 500)
  1603. =>
  1604.     (set-goal resource-needed FOOD)
  1605. )
  1606.  
  1607. (defrule
  1608.     (goal resource-supp WOOD-STONE)
  1609.     (current-age == imperial-age) 
  1610.     (wood-amount > 400)
  1611.     (stone-amount < 400)
  1612. =>
  1613.     (set-goal resource-needed STONE)
  1614. )
  1615.  
  1616. (defrule
  1617.     (goal resource-supp WOOD-STONE)
  1618.     (current-age == imperial-age) 
  1619.     (wood-amount < 400)
  1620.     (stone-amount > 400)
  1621. =>
  1622.     (set-goal resource-needed WOOD)
  1623. )
  1624.  
  1625. (defrule
  1626.     (goal resource-supp FOOD-GOLD)
  1627.     (current-age == imperial-age) 
  1628.     (food-amount > 1600)
  1629.     (gold-amount < 1200)
  1630. =>
  1631.     (set-goal resource-needed GOLD)
  1632. )
  1633.  
  1634. (defrule
  1635.     (goal resource-supp FOOD-GOLD)
  1636.     (current-age == imperial-age) 
  1637.     (food-amount < 1600)
  1638.     (gold-amount > 1200)
  1639. =>
  1640.     (set-goal resource-needed FOOD)
  1641. )
  1642.  
  1643. (defrule
  1644.     (current-age == imperial-age) 
  1645.     (stone-amount < 1000)
  1646. =>
  1647.     (set-goal resource-needed STONE)
  1648. )
  1649.  
  1650. ;***********************************************
  1651. ;WONDERING
  1652. (defrule
  1653.     (wood-amount < 1000)
  1654.     (gold-amount > 1000)
  1655.     (stone-amount > 1000)
  1656. =>
  1657.     (set-goal resource-needed WOOD)
  1658. )
  1659.  
  1660. (defrule
  1661.     (wood-amount > 1000)
  1662.     (gold-amount < 1000)
  1663.     (stone-amount > 1000)
  1664. =>
  1665.     (set-goal resource-needed GOLD)
  1666. )
  1667.  
  1668. (defrule
  1669.     (wood-amount > 1000)
  1670.     (gold-amount > 1000)
  1671.     (stone-amount < 1000)
  1672. =>
  1673.     (set-goal resource-needed STONE)
  1674. )
  1675. ;***********************************************
  1676. ;***********************************************
  1677. (defrule
  1678.     (goal resource-needed NO)
  1679.     (current-age >= castle-age)
  1680. =>
  1681.     (set-strategic-number sn-wood-gatherer-percentage 40)
  1682.     (set-strategic-number sn-food-gatherer-percentage 35)
  1683.     (set-strategic-number sn-gold-gatherer-percentage 15)
  1684.     (set-strategic-number sn-stone-gatherer-percentage 10)
  1685. )
  1686.  
  1687. ;extra wood
  1688. (defrule
  1689.     (goal resource-needed WOOD)
  1690.     (current-age >= castle-age)
  1691. =>
  1692.     (set-strategic-number sn-wood-gatherer-percentage 45)
  1693.     (set-strategic-number sn-food-gatherer-percentage 30)
  1694.     (set-strategic-number sn-gold-gatherer-percentage 15)
  1695.     (set-strategic-number sn-stone-gatherer-percentage 10)
  1696. )
  1697.  
  1698. ;extra food
  1699. (defrule
  1700.     (goal resource-needed FOOD)
  1701.     (current-age >= castle-age)
  1702. =>
  1703.     (set-strategic-number sn-wood-gatherer-percentage 30)
  1704.     (set-strategic-number sn-food-gatherer-percentage 45)
  1705.     (set-strategic-number sn-gold-gatherer-percentage 15)
  1706.     (set-strategic-number sn-stone-gatherer-percentage 10)
  1707. )
  1708.  
  1709. ;extra gold
  1710. (defrule
  1711.     (goal resource-needed GOLD)
  1712.     (current-age >= castle-age)
  1713. =>
  1714.     (set-strategic-number sn-wood-gatherer-percentage 35)
  1715.     (set-strategic-number sn-food-gatherer-percentage 30)
  1716.     (set-strategic-number sn-gold-gatherer-percentage 25)
  1717.     (set-strategic-number sn-stone-gatherer-percentage 10)
  1718. )
  1719.  
  1720. ;extra stone
  1721. (defrule
  1722.     (goal resource-needed STONE)
  1723.     (current-age >= castle-age)
  1724. =>
  1725.     (set-strategic-number sn-wood-gatherer-percentage 35)
  1726.     (set-strategic-number sn-food-gatherer-percentage 30)
  1727.     (set-strategic-number sn-gold-gatherer-percentage 15)
  1728.     (set-strategic-number sn-stone-gatherer-percentage 20)
  1729. )
  1730.  
  1731. ;imperial age
  1732. (defrule
  1733.     (difficulty <= hard)
  1734.     (or
  1735.         (current-age == imperial-age)
  1736.         (and
  1737.             (current-age == castle-age)
  1738.             (and
  1739.                 (current-age-time > 60)
  1740.                 (goal age-advancement NOTICE)
  1741.             )
  1742.         )
  1743.     )
  1744. =>
  1745.     (set-strategic-number sn-wood-gatherer-percentage 30)
  1746.     (set-strategic-number sn-food-gatherer-percentage 0)
  1747.     (set-strategic-number sn-gold-gatherer-percentage 30)
  1748.     (set-strategic-number sn-stone-gatherer-percentage 40)
  1749. )
  1750. ;*******************************************************
  1751. ;*******************************************************
  1752. ;upgrades
  1753. ;*************************************************
  1754. (defrule
  1755.     (or
  1756.         (current-age >= feudal-age)
  1757.         (goal upgrade-conflict NOTICE)
  1758.     )
  1759. =>
  1760.     (set-escrow-percentage wood 50)
  1761.     (set-escrow-percentage food 50)
  1762.     (set-escrow-percentage gold 50)
  1763.     (set-escrow-percentage stone 50)
  1764. )
  1765.  
  1766. ;********************************************
  1767. (defrule
  1768.     (goal upgrade-conflict NO)
  1769.     (current-age >= feudal-age)
  1770. =>
  1771.     (generate-random-number 47)
  1772. )
  1773.  
  1774. ;*************
  1775. ;TOWN CENTER RESEARCH
  1776. (defrule    ;50 gold
  1777.     (goal upgrade-conflict NO)
  1778.     (civilian-population >= 25)
  1779.     (random-number <= 1)
  1780.     (building-type-count town-center > 0)
  1781.     (research-available ri-loom)
  1782.     (or
  1783.         (gold-amount > 250)
  1784.         (goal age-advancement NOTICE)
  1785.     )
  1786. =>
  1787.     (set-goal upgrade-conflict 1)
  1788.     (set-goal resource-supp GOLD-ONLY)
  1789. )
  1790.  
  1791. (defrule
  1792.     (goal upgrade-conflict 1)
  1793.     (can-research-with-escrow ri-loom)
  1794. =>
  1795.     (release-escrow gold)
  1796.     (research ri-loom)
  1797.     (set-goal upgrade-conflict NO)
  1798. )
  1799.  
  1800. (defrule    ;75 food
  1801.     (goal upgrade-conflict NO)
  1802.     (random-number <= 2)
  1803.     (building-type-count town-center > 0)
  1804.     (research-available ri-town-watch)
  1805.     (or
  1806.         (goal age-advancement NOTICE)
  1807.         (food-amount > 700)
  1808.     )
  1809. =>
  1810.     (set-goal upgrade-conflict 2)
  1811.     (set-goal resource-supp FOOD-ONLY)
  1812. )
  1813.  
  1814. (defrule
  1815.     (goal upgrade-conflict 2)
  1816.     (can-research-with-escrow ri-town-watch)
  1817. =>
  1818.     (release-escrow food)
  1819.     (research ri-town-watch)
  1820.     (set-goal upgrade-conflict NO)
  1821. )
  1822.  
  1823. (defrule    ;50 wood, 175 food
  1824.     (difficulty <= moderate)
  1825.     (can-research-with-escrow ri-wheel-barrow)
  1826.     (nor
  1827.         (goal upgrade-conflict NOTICE)
  1828.         (can-research ri-wheel-barrow)
  1829.     )
  1830.     (or
  1831.         (current-age > feudal-age)
  1832.         (goal age-advancement NOTICE)
  1833.     )
  1834. =>
  1835.     (release-escrow wood)
  1836.     (release-escrow food)
  1837.     (research ri-wheel-barrow)
  1838. )
  1839.  
  1840. (defrule
  1841.     (difficulty <= moderate)
  1842.     (can-research ri-wheel-barrow)
  1843.     (not (goal upgrade-conflict NOTICE) )
  1844.     (or
  1845.         (current-age > feudal-age)
  1846.         (goal age-advancement NOTICE)
  1847.     )
  1848. =>
  1849.     (research ri-wheel-barrow)
  1850. )
  1851.  
  1852. (defrule    ;200 wood, 300 food
  1853.     (civilian-population >= civ-castle)
  1854.     (difficulty <= hard)
  1855.     (can-research-with-escrow ri-hand-cart)
  1856.     (nor
  1857.         (goal upgrade-conflict NOTICE)
  1858.         (can-research ri-hand-cart)
  1859.     )
  1860. =>
  1861.     (release-escrow wood)
  1862.     (release-escrow food)
  1863.     (research ri-hand-cart)
  1864. )
  1865.  
  1866. (defrule
  1867.     (civilian-population >= civ-castle)
  1868.     (difficulty <= hard)
  1869.     (can-research ri-hand-cart)
  1870.     (not (goal upgrade-conflict NOTICE) )
  1871. =>
  1872.     (research ri-hand-cart)
  1873. )
  1874.  
  1875. ;*************
  1876. ;MINING-CAMP
  1877. (defrule    ;75 wood, 100 food
  1878.     (goal upgrade-conflict NO)
  1879.     (difficulty <= moderate)
  1880.     (random-number <= 3)
  1881.     (civilian-population >= civ-castle)
  1882.     (building-type-count mining-camp > 1)
  1883.     (research-completed ri-gold-mining)
  1884.     (research-available ri-stone-mining)
  1885. =>
  1886.     (set-goal upgrade-conflict 3)
  1887.     (set-goal resource-supp WOOD-FOOD)
  1888. )
  1889.  
  1890. (defrule    ;150 wood, 200 food
  1891.     (goal upgrade-conflict NO)
  1892.     (goal resource-needed STONE)
  1893.     (difficulty <= hard)
  1894.     (random-number <= 3)
  1895.     (civilian-population >= civ-castle)
  1896.     (building-type-count mining-camp > 0)
  1897.     (research-completed ri-gold-shaft-mining)
  1898.     (research-available ri-stone-shaft-mining)
  1899. =>
  1900.     (set-goal upgrade-conflict 3)
  1901.     (set-goal resource-supp WOOD-FOOD)
  1902. )
  1903.  
  1904. (defrule
  1905.     (goal upgrade-conflict 3)
  1906.     (or
  1907.         (can-research-with-escrow ri-stone-mining)
  1908.         (can-research-with-escrow ri-stone-shaft-mining)
  1909.     )
  1910. =>
  1911.     (release-escrow wood)
  1912.     (release-escrow food)
  1913.     (research ri-stone-mining)
  1914.     (research ri-stone-shaft-mining)
  1915.     (set-goal upgrade-conflict NO)
  1916. )
  1917.  
  1918. (defrule    ;75 wood, 100 food
  1919.     (goal upgrade-conflict NO)
  1920.     (difficulty <= moderate)
  1921.     (current-age > feudal-age)
  1922.     (random-number <= 4)
  1923.     (civilian-population >= civ-castle)
  1924.     (building-type-count mining-camp > 0)
  1925.     (research-available ri-gold-mining)
  1926. =>
  1927.     (set-goal upgrade-conflict 4)
  1928.     (set-goal resource-supp WOOD-FOOD)
  1929. )
  1930.  
  1931. (defrule    ;150 wood, 200 food
  1932.     (goal upgrade-conflict NO)
  1933.     (difficulty <= hard)
  1934.     (random-number <= 4)
  1935.     (civilian-population >= civ-castle)
  1936.     (building-type-count mining-camp > 0)
  1937.     (research-available ri-gold-shaft-mining)
  1938. =>
  1939.     (set-goal upgrade-conflict 4)
  1940.     (set-goal resource-supp WOOD-FOOD)
  1941. )
  1942.  
  1943. (defrule
  1944.     (goal upgrade-conflict 4)
  1945.     (or
  1946.         (can-research-with-escrow ri-gold-mining)
  1947.         (can-research-with-escrow ri-gold-shaft-mining)
  1948.     )
  1949. =>
  1950.     (release-escrow wood)
  1951.     (release-escrow food)
  1952.     (research ri-gold-mining)
  1953.     (research ri-gold-shaft-mining)
  1954.     (set-goal upgrade-conflict NO)
  1955. )
  1956. ;*************
  1957. ;LUMBER-CAMP
  1958. (defrule    ;50 wood, 100 food
  1959.     (goal upgrade-conflict NO)
  1960.     (difficulty <= moderate)
  1961.     (random-number <= 5)
  1962.     (building-type-count lumber-camp > 0)
  1963.     (research-available ri-double-bit-axe)
  1964.     (or
  1965.         (current-age > feudal-age)
  1966.         (goal age-advancement NOTICE)
  1967.     )
  1968. =>
  1969.     (set-goal upgrade-conflict 5)
  1970.     (set-goal resource-supp WOOD-FOOD)
  1971. )
  1972.  
  1973. (defrule    ;100 wood, 150 food
  1974.     (goal upgrade-conflict NO)
  1975.     (difficulty <= moderate)
  1976.     (random-number <= 5)
  1977.     (civilian-population >= civ-castle)
  1978.     (building-type-count lumber-camp > 0)
  1979.     (research-available ri-bow-saw)
  1980. =>
  1981.     (set-goal upgrade-conflict 5)
  1982.     (set-goal resource-supp WOOD-FOOD)
  1983. )
  1984.  
  1985. (defrule    ;200 wood, 300 food
  1986.     (goal upgrade-conflict NO)
  1987.     (difficulty <= hard)
  1988.     (random-number <= 5)
  1989.     (civilian-population >= civ-castle)
  1990.     (building-type-count lumber-camp > 0)
  1991.     (research-available ri-two-man-saw)
  1992. =>
  1993.     (set-goal upgrade-conflict 5)
  1994.     (set-goal resource-supp WOOD-FOOD)
  1995. )
  1996.  
  1997. (defrule
  1998.     (goal upgrade-conflict 5)
  1999.     (or
  2000.         (can-research-with-escrow ri-double-bit-axe)
  2001.         (or
  2002.             (can-research-with-escrow ri-bow-saw)
  2003.             (can-research-with-escrow ri-two-man-saw)
  2004.         )
  2005.     )
  2006. =>
  2007.     (release-escrow wood)
  2008.     (release-escrow food)
  2009.     (research ri-double-bit-axe)
  2010.     (research ri-bow-saw)
  2011.     (research ri-two-man-saw)
  2012.     (set-goal upgrade-conflict NO)
  2013. )
  2014. ;*************
  2015. ;MILL
  2016. (defrule    ;75 wood, 75 food
  2017.     (goal upgrade-conflict NO)
  2018.     (difficulty <= moderate)
  2019.     (random-number <= 6)
  2020.     (building-type-count-total farm >= 8)
  2021.     (building-type-count mill > 0)
  2022.     (research-available ri-horse-collar)
  2023.     (or
  2024.         (current-age > feudal-age)
  2025.         (goal age-advancement NOTICE)
  2026.     )
  2027. =>
  2028.     (set-goal upgrade-conflict 6)
  2029.     (set-goal resource-supp WOOD-FOOD)
  2030. )
  2031.  
  2032. (defrule    ;125 wood, 125 food
  2033.     (goal upgrade-conflict NO)
  2034.     (difficulty <= moderate)
  2035.     (random-number <= 6)
  2036.     (building-type-count-total farm >= 10)
  2037.     (building-type-count mill > 0)
  2038.     (research-available ri-heavy-plow)
  2039. =>
  2040.     (set-goal upgrade-conflict 6)
  2041.     (set-goal resource-supp WOOD-FOOD)
  2042. )
  2043.  
  2044. (defrule    ;250 wood, 250 food
  2045.     (goal upgrade-conflict NO)
  2046.     (difficulty <= hard)
  2047.     (random-number <= 6)
  2048.     (building-type-count-total farm >= 12)
  2049.     (building-type-count mill > 0)
  2050.     (research-available ri-crop-rotation)
  2051. =>
  2052.     (set-goal upgrade-conflict 6)
  2053.     (set-goal resource-supp WOOD-FOOD)
  2054. )
  2055.  
  2056. (defrule
  2057.     (goal upgrade-conflict 6)
  2058.     (or
  2059.         (can-research-with-escrow ri-horse-collar)
  2060.         (or
  2061.             (can-research-with-escrow ri-heavy-plow)
  2062.             (can-research-with-escrow ri-crop-rotation)
  2063.         )
  2064.     )
  2065. =>
  2066.     (release-escrow wood)
  2067.     (release-escrow food)
  2068.     (research ri-horse-collar)
  2069.     (research ri-heavy-plow)
  2070.     (research ri-crop-rotation)
  2071.     (set-goal upgrade-conflict NO)
  2072. )
  2073.  
  2074. ;*************
  2075. ;MARKET
  2076. (defrule
  2077.     (can-research ri-caravan)
  2078.     (or
  2079.         (unit-type-count-total trade-cart > 0)
  2080.         (unit-type-count-total trade-cog > 0)
  2081.     )
  2082. =>
  2083.     (research ri-caravan)
  2084. )
  2085.  
  2086. (defrule    ;100 food, 100 gold
  2087.     (player-in-game any-ally)
  2088.     (building-type-count market > 0)
  2089.     (can-research-with-escrow ri-cartography)
  2090.     (or
  2091.         (current-age > feudal-age)
  2092.         (or
  2093.             (goal age-advancement NOTICE)
  2094.             (gold-amount > 300)
  2095.         )
  2096.     )
  2097. =>
  2098.     (release-escrow food)
  2099.     (release-escrow gold)
  2100.     (research ri-cartography)
  2101. )
  2102.  
  2103. (defrule    ;300 food, 200 gold
  2104.     (can-research-with-escrow ri-guilds)
  2105. =>
  2106.     (release-escrow food)
  2107.     (release-escrow gold)
  2108.     (research ri-guilds)
  2109. )
  2110. ;*************
  2111. ;UNIVERSITY
  2112. (defrule    ;200 wood, 300 stone
  2113.     (goal upgrade-conflict NO)
  2114.     (random-number <= 8)
  2115.     (building-type-count university > 0)
  2116.     (research-available ri-stonecutting)
  2117. =>
  2118.     (set-goal upgrade-conflict 8)
  2119.     (set-goal resource-supp WOOD-STONE)
  2120. )
  2121.  
  2122. (defrule
  2123.     (goal upgrade-conflict 8)
  2124.     (can-research-with-escrow ri-stonecutting)
  2125. =>
  2126.     (release-escrow wood)
  2127.     (release-escrow stone)
  2128.     (research ri-stonecutting)
  2129.     (set-goal upgrade-conflict NO)
  2130. )
  2131. ;***************************************
  2132. ;========================DARK AGE RULES
  2133. (defrule
  2134.     (true)
  2135. =>
  2136.     (set-strategic-number sn-coop-share-information 1)
  2137.     (set-strategic-number sn-maximum-town-size 15)
  2138.     (set-strategic-number sn-zero-priority-distance 250)
  2139.  
  2140.     (set-strategic-number sn-maximum-gaia-attack-response 2)
  2141.     (set-strategic-number sn-minimum-boar-hunt-group-size 5)
  2142.  
  2143.     (set-strategic-number sn-stone-dropsite-distance 3)
  2144.     (set-strategic-number sn-gold-dropsite-distance 3)
  2145.     (set-strategic-number sn-retask-gather-amount 20)
  2146.  
  2147.     (set-strategic-number sn-camp-max-distance 20)
  2148.     (set-strategic-number sn-mill-max-distance 20)
  2149.     (set-strategic-number sn-group-form-distance 10)
  2150.     (disable-self)
  2151. )
  2152.  
  2153. (defrule
  2154.     (true)
  2155. =>
  2156.  
  2157.     (set-strategic-number sn-allow-civilian-defense 1)
  2158.     (set-strategic-number sn-town-defend-priority 1)
  2159.     (set-strategic-number sn-gold-defend-priority 2)
  2160.  
  2161.     (set-strategic-number sn-stone-defend-priority 3)
  2162.     (set-strategic-number sn-forage-defend-priority 0)
  2163.     (set-strategic-number sn-relic-defend-priority 0)
  2164.  
  2165.     (set-strategic-number sn-cap-civilian-builders 8)
  2166.     (set-strategic-number sn-cap-civilian-gatherers 100)
  2167.     (set-strategic-number sn-minimum-civilian-explorers 0)
  2168.  
  2169.     (set-strategic-number sn-cap-civilian-explorers 0)
  2170.     (set-strategic-number sn-percent-civilian-explorers 0)
  2171.     (disable-self)
  2172. )
  2173.  
  2174. (defrule
  2175.     (true)
  2176. =>
  2177.     (set-strategic-number sn-maximum-wood-drop-distance 20)
  2178.     (set-strategic-number sn-maximum-food-drop-distance 20)
  2179.     (set-strategic-number sn-maximum-hunt-drop-distance 30)
  2180.  
  2181.     (set-strategic-number sn-maximum-fish-boat-drop-distance 30)
  2182.     (set-strategic-number sn-maximum-gold-drop-distance 20)
  2183.     (set-strategic-number sn-maximum-stone-drop-distance 20)
  2184.     (disable-self)
  2185. )
  2186.  
  2187. (defrule
  2188.     (difficulty <= hard)
  2189. =>
  2190.     (set-strategic-number sn-maximum-fish-boat-drop-distance 7)
  2191.     (disable-self)
  2192. )
  2193.  
  2194. ;start exploring
  2195. (defrule
  2196.     (or
  2197.         (game-time > 600)
  2198.         (and
  2199.             (starting-resources < high-resources)
  2200.             (difficulty > hardest)
  2201.         )
  2202.     )
  2203. =>
  2204.     (set-strategic-number sn-percent-civilian-builders 15)
  2205.     (set-strategic-number sn-percent-civilian-gatherers 85)
  2206.     (disable-self)
  2207. )
  2208.  
  2209. (defrule
  2210.     (or
  2211.         (starting-resources == high-resources)
  2212.         (difficulty == hardest)
  2213.     )
  2214. =>
  2215.     (set-strategic-number sn-percent-civilian-builders 85)
  2216.     (set-strategic-number sn-percent-civilian-gatherers 15)
  2217.     (disable-self)
  2218. )
  2219.  
  2220. ; explore a bit at need
  2221. (defrule
  2222.     (game-time < 600)
  2223.     (military-population == 0)
  2224.     (civilian-population < 15)
  2225.     (or
  2226.         (dropsite-min-distance food == -1)
  2227.         (civilian-population > 10)
  2228.     )
  2229. =>
  2230.     (set-strategic-number sn-minimum-civilian-explorers 1)
  2231.     (set-strategic-number sn-cap-civilian-explorers 1)
  2232.     (set-strategic-number sn-percent-civilian-explorers 5)
  2233.     (set-strategic-number sn-percent-civilian-builders 15)
  2234.     (set-strategic-number sn-percent-civilian-gatherers 80)
  2235. )
  2236.  
  2237. ; Shut the explorers off when we get enough food
  2238. (defrule
  2239.     (strategic-number sn-percent-civilian-explorers > 0)
  2240.     (or
  2241.         (or
  2242.             (game-time > 900)
  2243.             (dropsite-min-distance food > -1)
  2244.         )
  2245.         (military-population > 0)
  2246.     )
  2247. =>
  2248.     (set-strategic-number sn-percent-civilian-explorers 0)
  2249.     (set-strategic-number sn-minimum-civilian-explorers 0)
  2250.     (set-strategic-number sn-cap-civilian-explorers 0)
  2251.     (set-strategic-number sn-percent-civilian-builders 15)
  2252.     (set-strategic-number sn-percent-civilian-gatherers 85)
  2253. )
  2254.  
  2255. (defrule
  2256.     (strategic-number sn-number-explore-groups != 1)
  2257. =>
  2258.     (set-strategic-number sn-number-explore-groups 1)
  2259. )
  2260.  
  2261. (defrule
  2262.     (building-type-count town-center < 1)
  2263.     (can-build town-center)
  2264. =>
  2265.     (build town-center)
  2266.     (disable-self)
  2267. )
  2268.  
  2269. ; villager count
  2270. (defrule
  2271.     (current-age == dark-age)
  2272.     (difficulty <= moderate)
  2273.     (civilian-population < civ-feudal)
  2274.     (civilian-population < 40)
  2275.     (can-train villager)
  2276. =>
  2277.     (train villager)
  2278. )
  2279.  
  2280. ;maintain housing
  2281. (defrule
  2282.     (housing-headroom < 5)
  2283.     (population-headroom > 0)
  2284.     (can-build house)
  2285. =>
  2286.     (build house)
  2287. )
  2288.  
  2289. #load-if-defined DIFFICULTY-EASIEST
  2290. (defrule
  2291.     (unit-type-count-total villager <= 5)
  2292.     (can-train villager)
  2293. =>
  2294.     (train villager)
  2295. )
  2296. #end-if
  2297.  
  2298. #load-if-defined DIFFICULTY-EASY
  2299. (defrule
  2300.     (unit-type-count-total villager <= 10)
  2301.     (can-train villager)
  2302. =>
  2303.     (train villager)
  2304. )
  2305. #end-if
  2306.  
  2307. ;maintain a town center
  2308. (defrule
  2309.     (difficulty <= moderate)
  2310.     (game-time > 45)
  2311.     (building-type-count town-center < 1)
  2312.     (can-build town-center)
  2313. =>
  2314.     (build town-center)
  2315. )
  2316.  
  2317. ; Build a mill when we find food
  2318. (defrule
  2319.     (building-type-count-total mill == 0)
  2320.     (or
  2321.         (building-type-count-total house > 0)
  2322.         (or
  2323.             (civ-selected hun)
  2324.             (building-type-count castle > 0)
  2325.         )
  2326.     )
  2327.     (or
  2328.         (resource-found food)
  2329.         (game-time > 900)
  2330.     )
  2331.     (can-build mill)
  2332. =>
  2333.     (build mill)
  2334. )
  2335.  
  2336. (defrule
  2337.     (game-time > 90)
  2338.     (resource-found wood)
  2339.     (or
  2340.         (building-type-count-total house > 0)
  2341.         (or
  2342.             (civ-selected hun)
  2343.             (building-type-count castle > 0)
  2344.         )
  2345.     )
  2346.     (building-type-count-total lumber-camp == 0)
  2347.     (can-build lumber-camp)
  2348. =>
  2349.     (build lumber-camp)
  2350. )
  2351.  
  2352. ;build farms
  2353. (defrule
  2354.     (current-age < castle-age)
  2355.     (difficulty <= hard)
  2356.     (building-type-count-total lumber-camp > 0)
  2357.     (building-type-count-total mill > 0)
  2358.     (building-type-count-total farm < 10)
  2359.     (can-build farm)
  2360. =>
  2361.     (build farm)
  2362. )
  2363.  
  2364. (defrule
  2365.     (building-type-count-total lumber-camp > 0)
  2366.     (building-type-count-total mill > 0)
  2367.     (idle-farm-count <= 1)
  2368.     (sheep-and-forage-too-far)
  2369.     (can-build farm)
  2370. =>
  2371.     (build farm)
  2372. )
  2373.  
  2374. (defrule
  2375.     (current-age == dark-age)
  2376.     (building-type-count-total mining-camp == 0)
  2377.     (goal resource-needed GOLD)
  2378.     (resource-found gold)
  2379.     (can-build mining-camp)
  2380. =>
  2381.     (build mining-camp)
  2382. )
  2383.  
  2384.  
  2385. ;=======================FEUDAL AGE RULES
  2386. (defrule
  2387.     (current-age >= feudal-age)
  2388. =>
  2389.     (set-strategic-number sn-maximum-town-size feudal-town-size)
  2390.     (set-strategic-number sn-percent-civilian-builders 15)
  2391.     (set-strategic-number sn-percent-civilian-gatherers 85)
  2392.  
  2393.     (set-strategic-number sn-camp-max-distance 35)
  2394.     (set-strategic-number sn-mill-max-distance 35)
  2395.     (set-strategic-number sn-group-form-distance 20)
  2396.     (disable-self)
  2397. )
  2398.  
  2399. (defrule
  2400.     (current-age >= feudal-age)
  2401. =>
  2402.     (set-goal age-advancement NO)
  2403.     (enable-timer t-lumbercamp 1)
  2404.     (disable-timer t-ageup)
  2405.     (disable-self)
  2406. )
  2407.  
  2408. (defrule
  2409.     (current-age == feudal-age)
  2410.     (current-age-time < 600)
  2411.     (wood-amount > 500)
  2412. =>
  2413.     (set-strategic-number sn-percent-civilian-builders 50)
  2414.     (set-strategic-number sn-percent-civilian-gatherers 50)
  2415.     (disable-self)
  2416. )
  2417.  
  2418. (defrule
  2419.     (current-age == feudal-age)
  2420.     (current-age-time >= 600)
  2421. =>
  2422.     (set-strategic-number sn-percent-civilian-builders 15)
  2423.     (set-strategic-number sn-percent-civilian-gatherers 85)
  2424.     (disable-self)
  2425. )
  2426.  
  2427. ; villager count
  2428. (defrule
  2429.     (current-age == feudal-age)
  2430.     (difficulty <= moderate)
  2431.     (civilian-population < civ-castle)
  2432.     (civilian-population < 40)
  2433.     (can-train villager)
  2434. =>
  2435.     (train villager)
  2436. )
  2437.  
  2438. ; Build camps at need
  2439. (defrule
  2440.     (timer-triggered t-lumbercamp)
  2441.     (current-age >= feudal-age)
  2442.     (resource-found wood)
  2443.     (dropsite-min-distance wood > 5)
  2444.     (can-build lumber-camp)
  2445. =>
  2446.     (build lumber-camp)
  2447. )
  2448.  
  2449. (defrule
  2450.     (current-age >= feudal-age)
  2451.     (resource-found gold)
  2452.     (building-type-count-total mining-camp == 0)
  2453.     (can-build-with-escrow mining-camp)
  2454. =>
  2455.     (release-escrow wood)
  2456.     (build mining-camp)
  2457. )
  2458.  
  2459. (defrule
  2460.     (current-age >= feudal-age)
  2461.     (resource-found stone)
  2462.     (building-type-count-total mining-camp == 1)
  2463.     (can-build-with-escrow mining-camp)
  2464. =>
  2465.     (release-escrow wood)
  2466.     (build mining-camp)
  2467. )
  2468.  
  2469. (defrule
  2470.     (timer-triggered t-lumbercamp)
  2471.     (current-age >= feudal-age)
  2472.     (building-type-count-total market > 0)
  2473.     (building-type-count-total blacksmith > 0)
  2474.     (building-type-count-total mining-camp >= 1)
  2475.     (building-type-count-total mining-camp < mining-count)
  2476.     (resource-found gold)
  2477.     (resource-found stone)
  2478.     (or
  2479.         (dropsite-min-distance gold > 7)
  2480.         (dropsite-min-distance stone > 7)
  2481.     )
  2482.     (can-build mining-camp)
  2483. =>
  2484.     (build mining-camp)
  2485. )
  2486.  
  2487. (defrule
  2488.     (timer-triggered t-lumbercamp)
  2489. =>
  2490.     (disable-timer t-lumbercamp)
  2491.     (enable-timer t-lumbercamp 30)
  2492. )
  2493.  
  2494. ;feudal age market -- always keep a market handy!
  2495. (defrule
  2496.     (building-type-count-total market == 0)
  2497.     (can-build-with-escrow market)
  2498. =>
  2499.     (release-escrow wood)
  2500.     (build market)
  2501. )
  2502.  
  2503. (defrule
  2504.     (building-type-count-total market > 0)
  2505.     (building-type-count-total blacksmith == 0)
  2506.     (can-build-with-escrow blacksmith)
  2507. =>
  2508.     (release-escrow wood)
  2509.     (build blacksmith)
  2510. )
  2511.  
  2512. (defrule
  2513.     (current-age >= feudal-age)
  2514.     (current-age-time > 300)
  2515.     (building-type-count-total mill < feudal-mill-count)
  2516.     (wood-amount > 400)
  2517.     (can-build mill)
  2518. =>
  2519.     (build mill)
  2520. )
  2521.  
  2522. ;======================== CASTLE AGE RULES
  2523. ;see age advancement rules for strategic number-settings
  2524. (defrule
  2525.     (current-age >= castle-age)
  2526. =>
  2527.     (set-strategic-number sn-maximum-town-size castle-town-size)
  2528.     (set-strategic-number sn-percent-civilian-builders 15)
  2529.  
  2530.     (set-strategic-number sn-percent-civilian-gatherers 85)
  2531.     (set-strategic-number sn-blot-exploration-map 1)
  2532.     (set-strategic-number sn-camp-max-distance 50)
  2533.  
  2534.     (set-strategic-number sn-mill-max-distance 50)
  2535.     (set-strategic-number sn-group-form-distance 30)
  2536.     (set-goal age-advancement NO)
  2537.  
  2538.     (disable-timer t-ageup)
  2539.     (disable-self)
  2540. )
  2541.  
  2542. ; villager count
  2543. (defrule
  2544.     (current-age == castle-age)
  2545.     (difficulty <= moderate)
  2546.     (civilian-population < deathmatch-unit-max)
  2547.     (civilian-population < 40)
  2548.     (can-train villager)
  2549. =>
  2550.     (train villager)
  2551. )
  2552.  
  2553. ;University & maintain it
  2554. (defrule
  2555.     (building-type-count-total university == 0)
  2556.     (wood-amount > 500)
  2557.     (can-build-with-escrow university)
  2558. =>
  2559.     (release-escrow wood)
  2560.     (build university)
  2561. )
  2562.  
  2563. (defrule
  2564.     (building-type-count-total monastery == 0)
  2565.     (wood-amount > 500)
  2566.     (can-build-with-escrow monastery)
  2567. =>
  2568.     (release-escrow wood)
  2569.     (build monastery)
  2570. )
  2571.  
  2572. (defrule
  2573.     (current-age >= castle-age)
  2574.     (current-age-time > 300)
  2575.     (building-type-count-total mill < castle-mill-count)
  2576.     (wood-amount > 500)
  2577.     (can-build mill)
  2578. =>
  2579.     (build mill)
  2580. )
  2581.  
  2582. ;=============================IMPERIAL AGE RULES
  2583. ;see age advancement rules for strategic number-settings
  2584. (defrule
  2585.     (current-age == imperial-age)
  2586. =>
  2587.     (set-strategic-number sn-maximum-town-size imperial-town-size)
  2588.     (set-strategic-number sn-percent-civilian-builders 15)
  2589.     (set-strategic-number sn-percent-civilian-gatherers 85)
  2590.  
  2591.     (set-strategic-number sn-camp-max-distance 50)
  2592.     (set-strategic-number sn-mill-max-distance 50)
  2593.     (set-goal age-advancement NO)
  2594.  
  2595.     (disable-self)
  2596. )
  2597.  
  2598. (defrule
  2599.     (current-age == imperial-age)
  2600.     (difficulty <= moderate)
  2601.     (civilian-population < 40)
  2602.     (can-train villager)
  2603. =>
  2604.     (train villager)
  2605. )
  2606.  
  2607. ;another town center?
  2608. (defrule
  2609.     (current-age == imperial-age)
  2610.     (difficulty > hard)
  2611.     (building-type-count town-center < town-center-count)
  2612.     (wood-amount > 400)
  2613.     (can-build town-center)
  2614. =>
  2615.     (build town-center)
  2616. )
  2617.  
  2618. (defrule
  2619.     (current-age == imperial-age)
  2620.     (difficulty <= hard)
  2621.     (current-age-time > 300)
  2622.     (building-type-count-total mill < imperial-mill-count)
  2623.     (wood-amount > 700)
  2624.     (can-build mill)
  2625. =>
  2626.     (build mill)
  2627. )
  2628.  
  2629.